home *** CD-ROM | disk | FTP | other *** search
- /* Pascal string utilities, modeled after the standard C library
-
- 93/12/06 aih added a few assertions
- 93/10/13 aih added pstrcmp */
-
- #include <string.h>
- #include "pstr.h"
-
- int pstrcmp(const unsigned char *a, const unsigned char *b)
- {
- char s[256], p[256];
-
- return(strcmp(p2cstrcpy(s, a), p2cstrcpy(p, b)));
- }
-
- unsigned char *pstrcpy(unsigned char *dst, const unsigned char *src)
- {
- register int n;
-
- for (n = *dst = *src; n > 0; n--)
- *++dst = *++src;
- return(dst);
- }
-
- unsigned char *pstrcat(unsigned char *dst, const unsigned char *src)
- {
- require(*dst + *src + 1 <= sizeof(Str255));
- memcpy(dst + *dst + 1, src + 1, *src);
- *dst += *src;
- return(dst);
- }
-
- unsigned char *c2pstrcpy(unsigned char *ps, const char *cs)
- {
- require(strlen(cs) + 1 <= sizeof(Str255));
- return(c2pstr(strcpy((char*)ps, cs)));
- }
-
- char *p2cstrcpy(char *cs, const unsigned char *ps)
- {
- return(p2cstr(memcpy(cs, ps, *ps + 1)));
- }
-